E155 Final Project - Sensor Data Pipeline System
  • Home
  • Design Documentation
  • Code Repository
  • Schematics & Diagrams
  • Photos & Video
  • Technical Details

E155 Final Project

Sensor Data Pipeline System

A complete embedded systems design implementing a multi-stage sensor data pipeline: Arduino reads BNO085 sensor data via I2C, transmits to FPGA via SPI, and FPGA bridges the data to STM32 MCU for processing. This project demonstrates hardware-software integration, SPI protocol implementation, and real-time sensor data processing.

View Design Documentation View Code Repository

System Overview

Architecture

Arduino → FPGA → MCU Pipeline

The system implements a three-stage data pipeline where sensor data flows from the Arduino (reading BNO085 via I2C) through the FPGA (SPI bridge) to the STM32 MCU for final processing and application use.

Learn More

Key Technologies

Hardware & Protocols

  • FPGA: Verilog implementation of SPI slave interfaces
  • MCU: STM32L432KC with C-based SPI master
  • Arduino: BNO085 sensor interface via I2C
  • SPI Protocol: Mode 0, 100kHz communication

View Technical Details

Project Deliverables

Complete Documentation

  • Complete schematics and block diagrams
  • Well-commented C and Verilog source code
  • Photos of finished design
  • Video demonstration

View All Deliverables

Project Deliverables

This website provides complete documentation of the final project design, including:

  • Design Documentation: Complete explanation of how the system works, architecture overview, and design decisions
  • Source Code: Well-commented and cleanly-formatted C (MCU) and Verilog (FPGA) code with links to GitHub repository
  • Schematics & Diagrams: Complete system block diagrams, FPGA architecture, MCU interface, and pin connections
  • Photos: Images of the finished design, hardware setup, and testing
  • Video: Demonstration video hosted on Google Drive showing the system in operation
  • Technical Details: Detailed documentation for future students, including SPI implementation, FPGA design patterns, and debugging techniques

View Complete Documentation